i have dug into this some more and found that the performance-problem goes away when setting "relatime=on" or "atime=off" for the dataset.
[...]
ADDON (after finding out more , see below) :
the performance problem also goes away when setting preallocation-policy to "off" on the datastore.
Many many many thanks for that one !
I was becoming mad since a week...
I made a mistake last week as I made two different upgrades in the same time: I upgraded PVE 7 to 8 and TrueNAS 12 to 13. Everything went ok (except lost of connectivity with ifupdown2, perhaps I forgot to read some release notes, my bad).
But during the night backup job it was hell: at the morning some VMs were stuck with IO from 9600k modem time: for example a VM took 25 minutes to backup on PVE7 and the same VM, the day after on PVE8 took 1h48 to backup !
I have two PVE clusters and 3 TrueNAS sharing NFS for qcow2 files and it was really a mistery...
Since 2 days I tried many things without success: mitigations=off, iothread=1, virtio scsi single, even mtu tweaking or crossing mount between the 2 clusters and the 3 TrueNAS: but none of tests gave logical results.
iperf3 give max bandwidth, with
dd on PVE host or inside a VM bandwidth is on the top, but moving a disk (offline) never ends.
I was moving a 64 Gb disk while finding your post: during 5 hours it moved 33%, I went on the TrueNAS, put
atime=off and moved the 67% remaining in a few minutes !
I added the option
preallocation off on all my nfs datastores and launched a backup which seems to go many faster than previously.
I am not sure that all regressions are gone but is is far better for the moment... I'll check carefully during next days.